package com.group.mapper;

import org.apache.ibatis.annotations.Param;
import pojo.entity.Good;
import pojo.entity.GoodInfoExpand;

import java.util.List;

public interface GoodsMapper {

    /**
     * 添加商品
     *
     * @param good
     */
    public void addGoods(Good good);

    /**
     * 查询全部商品
     *
     * @return 商品
     */
    public List<Good> selectAllGoods();

    /**
     * 根据商品名搜索商品
     *
     * @param goodName 商品名
     * @return 商品
     */
    public List<Good> selectByName(String goodName);

    /**
     * 根据商品id查询商品信息
     *
     * @param goodId 商品id
     * @return 商品信息
     */
    Good selectById(Long goodId);

    /**
     * 根据商品id查询商品相关信息
     *
     * @param goodId 商品id
     * @return 商品相关信息集合，无则返回null
     */
    List<GoodInfoExpand> selectGoodsInfoExpand(Long goodId);

    /**
     * 根据商品id查询商品评分
     *
     * @param goodId
     * @return 商品评分
     */
    Integer selectGoodStarScore(Long goodId);

    /**
     * 统计指定商品日成交量
     *
     * @param goodId    商品id
     * @param beforeDay 前一天
     * @param today     当前日期
     * @return 前一天的指定商品的成交量
     */
    Integer selectGoodDayDeal(@Param("goodId") long goodId, @Param("beforeDay") String beforeDay, @Param("today") String today);
}
